home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Libraries / TransDisplay / Demos / C Demos / MiniDisplay / MiniDisplay.c next >
Text File  |  1994-02-23  |  3KB  |  115 lines

  1. /*
  2.  * MiniDisplay - TransDisplay Demonstration.  Very simple:  just
  3.  * demonstrates the various output calls.
  4.  *
  5.  * The project should include MiniDisplay.c (this file),
  6.  * TransDisplay.c (or a project made from TransDisplay.c),
  7.  * TransSkel.c (or a project made from TransSkel.c), and MacTraps.
  8.  *
  9.  * 04 Oct 86 Paul DuBois
  10.  * 02 Feb 89 Version 1.01
  11.  * - Changed to work with TransSkel2.0 and TransDisplay2.0. 2-byte
  12.  * and 4-byte integer types are typedef'ed to Integer and Longint to
  13.  * ease porting.
  14.  * 15 Jun 92 Version 1.02
  15.  * - Modified for TransSkel 3.00 and TransDisplay 3.00.  The typedefs
  16.  * are now in Compiler.h.
  17.  * 06 Jun 93 Version 1.03
  18.  * - Conversion for THINK C 6.0.
  19.  * 04 Jan 94
  20.  * - Undid Integer/LongInt type stuff back to short/long.
  21.  * 18 Jan 94
  22.  * - Changed calls to DisplayInt()/DisplayHexInt() into calls to
  23.  * DisplayShort()/DisplayHexShort().  Added calls for DisplayCString()
  24.  * and DisplayOSType().
  25.  * 21 Feb 94
  26.  * - Updated for TransSkel 3.11, TransDisplay 3.05.
  27.  */
  28.  
  29. # include    "TransSkel.h"
  30.  
  31. # include    "TransDisplay.h"
  32.  
  33.  
  34. # define    fileMenuNum    (skelAppleMenuID+1)
  35.  
  36. static pascal void
  37. DoFileMenu (short item)
  38. {
  39.     SkelStopEventLoop ();                /* tell SkelMain to quit */
  40. }
  41.  
  42.  
  43. int
  44. main (void)
  45. {
  46. Rect        r;
  47. MenuHandle    m;
  48. WindowPtr    w;
  49.  
  50.     SkelInit ((SkelInitParamsPtr) nil);            /* initialize */
  51.     SkelApple (nil, nil);                    /* handle desk accessories */
  52.  
  53.     m = NewMenu (fileMenuNum, "\pFile");    /* create menu and tell TransSkel */
  54.     AppendMenu (m, "\pQuit/Q");                /* to handle it */
  55.     (void) SkelMenu (m, DoFileMenu, nil, false, true);
  56.  
  57.     SetRect (&r, 100, 75, 420, 275);
  58.     w = NewDWindow (&r, "\pMiniDisplay", false, (WindowPtr) -1L, false, 0L);
  59.  
  60.     if (w == nil)
  61.     {
  62.         SkelCleanup ();
  63.         ExitToShell ();
  64.     }
  65.  
  66.     DisplayString ("\pThis is MiniDisplay, a minimal demonstration of ");
  67.     DisplayString ("\pTransDisplay.  The following types of output may ");
  68.     DisplayString ("\pbe written with the built-in output calls:");
  69.     DisplayLn ();
  70.  
  71.     DisplayLn ();
  72.     DisplayString ("\pArbitrary length text: ");
  73.     DisplayText ("Some text", 9L);
  74.     DisplayLn ();
  75.     DisplayString ("\pPascal string: ");
  76.     DisplayString ("\p\"\\pThis is a Pascal string.\"");
  77.     DisplayLn ();
  78.     DisplayString ("\pC string: ");
  79.     DisplayCString ("\"This is a C string.\"");
  80.     DisplayLn ();
  81.     DisplayString ("\pChar: '");
  82.     DisplayChar ('x');
  83.     DisplayString ("\p'    Hex char: ");
  84.     DisplayHexChar ('x');
  85.     DisplayLn ();
  86.     DisplayString ("\pShort: ");
  87.     DisplayShort (1023);
  88.     DisplayString ("\p  Hex short: ");
  89.     DisplayHexShort (1023);
  90.     DisplayLn ();
  91.     DisplayString ("\pLong: ");
  92.     DisplayLong (32768L);
  93.     DisplayString ("\p  Hex long: ");
  94.     DisplayHexLong (32768L);
  95.     DisplayLn ();
  96.     DisplayString ("\pBoolean: ");
  97.     DisplayBoolean (true);
  98.     DisplayString ("\p, ");
  99.     DisplayBoolean (false);
  100.     DisplayLn ();
  101.     DisplayString ("\pOS text type: '");
  102.     DisplayOSType ('TEXT');
  103.     DisplayChar ('\'');
  104.     DisplayLn ();
  105.     DisplayString ("\pCarriage return.");
  106.     DisplayLn ();
  107.     DisplayLn ();
  108.     DisplayString ("\pSelect Quit from the File menu to exit.");
  109.     SetDWindowPos (w, 0);    /* scroll back to top */
  110.     ShowWindow (w);
  111.  
  112.     SkelEventLoop ();                /* loop 'til Quit selected */
  113.     SkelCleanup ();                    /* clean up */
  114. }
  115.